iT邦幫忙

DAY 12
4

哇咧~夠了(Oracle SQL)系列 第 12

十二、靈異事件(Oracle SQL 2013/09/27)

  • 分享至 

  • xImage
  •  

祝多多少少當過小老師的各位: 9/28教師節快樂!周末快樂!

問題需求無盡無窮,
首推用戶不懂裝懂,
再來幾天尋找臭蟲,
最後來個不可過寵。

p.s 話說,這幾天,心力交瘁、有江郎才盡的感覺,當個鐵人還真是不容易。
剛熬過中秋連假四天的困境,又是周末了,沒存稿、沒測試區的撰文壓力,比做專案還大。
最近幾篇,[IT人生]的文像是在寫開發技術,反而[開發技術]的文像是在寫IT人生!
有點錯亂.....

繼續自我挑戰,加油!眾鐵人!
各位擔任IT這麼久,最困擾的是什麼?

我很怕一種人,右手剛按下Email "傳送",左手就拿起話筒:「喂,死XX,有收到信沒有?我剛剛寄了信給你.......」 註:我英文名是S開頭,有些人會叫我史+職務頭銜=死XX。

另一種讓我氣到無力的,三更半夜:「XXX,我跟你說喔,現在倉庫電腦掛了,你不過來處理,庫存入不了、出貨出問題,有事你要負責喔」。接到電話氣一次,真正氣死的是,花個五分鐘飆車過去,只花了五秒鐘發現問題!....是有人拔掉集線器的電源...螢幕沒開電.....根本就沒開機!@#$

新舊系統轉檔,總會出現一些靈異現象,明明資料在整理過程,看起來都對,怎麼新系統報表跑出來,格式就是對不準,
要嘛,在Excel呈現出,某個欄位多跳一格!
不然,就是丟到Excel後資料自己斷成兩列?啊...農曆七月都過了大半了....見鬼喔!

遇過沒?我遇到過很多次,因為眼睛看不出來,原本是舊系統資料就有問題,只是舊系統的呈現方式很正常啊!誰知道轉過去後,會出現異常?!

像不像靈異事件!

好吧!說說我怎麼找到這.....鬼的.....
這些鬼其實都有名字,它的大名,就列在電腦發展史的族譜上,族譜的名字叫做:ASC II,還是前面排名的老9跟老13,怕了吧!

下圖參考維基http://zh.wikipedia.org/wiki/ASCII

這些斷行、跳格的資料就是[Enter]、[Tab]兩個按鍵啦!
用SQL怎麼找出來這個欄位有看不到、卻到處搗蛋的鬼呢?

先開表格塞資料
Create Table Hec_Ghost20130927
   (Ghost1  Varchar2(30),
    Ghost2  varchar2(30));
    
Insert Into  Hec_Ghost20130927
Values ('12345', 'abcde');

Update Hec_Ghost20130927
   Set Ghost1 = Ghost1 ||Chr(9),
       Ghost2 = Ghost2 ||Chr(13)
 where ghost1 = '12345';

Select ghost1, ghost2
  from Hec_Ghost20130927;

這裡用instr 找chr(9), chr(13)的位置>0的就是有不可見字元的資料了。
Select instr(Ghost1, chr(9)) c_tab, instr(Ghost1, chr(13)) c_ret
  from Hec_Ghost20130927;

要小心從Excel貼過去Form欄位的資料,有時不小小心會把Tab給順便存進去!

[開發技術組]全文閱讀
http://ithelp.ithome.com.tw/ironman6/player/yafuu168/dev/1

[鐵人人生組]全文閱讀
http://ithelp.ithome.com.tw/ironman6/player/yafuu168/life/1


上一篇
十一、自賣自誇,(續)老王賣瓜(Oracle SQL 2013/09/26)
下一篇
十六、半形字VS全形字(Oracle SQL 2013/10/01)
系列文
哇咧~夠了(Oracle SQL)28
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言